2100 |
Can bars have a grey backcolor and black border color for a summary-bar (EBN)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->PutRenderType(-2); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwH") + "IERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6" + "STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKp" + "FHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" + "XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC"); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG") + "h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" + "aZACj4arKejrRDCMAggI="); var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABN8GACAADACAxRDgMQBQKAAzQFAcDBvBgABiHEZoJhUAIIRZGMIjFDcEwxDSMY7jcYAFgkNQwCUtcBIJDEMIoAJLIwyBKkNQ5AabYrmWJpM") + "gOEAyDSJM70DCEThLD4aZJnOa5ZjmH5LRBQdBRXQMYwIGCiZQpeKqbgMBoJApCIJxdBNLAAf60LLtGJaSpKZouViJNjSBD4HQTL6BQwsKxIDqaaD/WpgFuLTjiRImShc" + "MQXJYFbwTOyBbDjG7rJr+FptYRbdYYRQ8dy7Cywa6pOa8YwacotZrAdDXHTmHw1PTRNDmTRYRwfKqJZxieqwHoMLYgAC8Ni3OaoDAiCRQGiYZyHKaRSwPBInIYIIjeRg" + "zBSAYKCEOySEodZbjybo0HefwfhMLQDnKeg9D6LwsCeV5unYQJYH8Lxvj+a5jgSfIYH8T43hOcZ5H+X4nh2fB6F+aABnOAIfFgFgGgGH43nICoCl+eA1n0fBhAgVZ5gS" + "HoID4FoDCCCBqBuBYUjgfgigGURYg4JoJmKCBFBaChikiNgVEYYpokYMoMCMKJWCkcIjgiZg6E0Do3gUASAg="); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); var_Bar->PutColor(0x1000000); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->GetItem("Summary"); var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); var_Bar1->PutColor(0x2000000); EXG2ANTTLib::IBarPtr var_Bar2 = var_Chart->GetBars()->Copy(L"Summary",L"SummaryN"); var_Bar2->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); var_Bar2->PutColor(0x3000000); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummaryJ = var_Items->AddItem("Summary A"); var_Items->AddBar(hSummaryJ,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"J",vtMissing); long hTaskJ = var_Items->InsertItem(hSummaryJ,vtMissing,"Task A.1"); var_Items->AddBar(hTaskJ,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"J1",vtMissing); hTaskJ = var_Items->InsertItem(hSummaryJ,vtMissing,"Task A.2"); var_Items->AddBar(hTaskJ,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"J2",vtMissing); var_Items->DefineSummaryBars(hSummaryJ,"J",-1,"<*>"); long hSummaryK = var_Items->AddItem("Summary B"); var_Items->AddBar(hSummaryK,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"K",vtMissing); long hTaskK = var_Items->InsertItem(hSummaryK,vtMissing,"Task B.1"); var_Items->AddBar(hTaskK,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); hTaskK = var_Items->InsertItem(hSummaryK,vtMissing,"Task B.2"); var_Items->AddBar(hTaskK,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing); var_Items->DefineSummaryBars(hSummaryK,"K",-1,"<*>"); long hSummaryN = var_Items->AddItem("Summary C"); var_Items->AddBar(hSummaryN,"SummaryN",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"SN",vtMissing); hTaskK = var_Items->InsertItem(hSummaryN,vtMissing,"Task B.1"); var_Items->AddBar(hTaskK,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"N1",vtMissing); hTaskK = var_Items->InsertItem(hSummaryN,vtMissing,"Task B.2"); var_Items->AddBar(hTaskK,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"N2",vtMissing); var_Items->DefineSummaryBars(hSummaryN,"SN",-1,"<*>"); var_Items->PutItemBar(0,"<K*>",EXG2ANTTLib::exBarColor,long(255)); var_Items->PutItemBar(0,"<N*>",EXG2ANTTLib::exBarColor,long(8421504)); var_Items->PutExpandItem(0,VARIANT_TRUE); spG2antt1->EndUpdate(); |
2099 |
How can I display UNICODE characters
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ stdole::FontPtr var_StdFont = spG2antt1->GetFont(); var_StdFont->PutName(L"Arial Unicode"); var_StdFont->PutSize(_variant_t(long(22))); spG2antt1->PutHeaderVisible(EXG2ANTTLib::exHeaderHidden); spG2antt1->PutDefaultItemHeight(48); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Ӓӓ"); var_Items->AddItem("ᦜᦝ;ᦞ"); var_Items->AddItem("ɮɭ;ɯ"); var_Items->AddItem("勳勴勵勶"); var_Items->PutFormatCell(var_Items->AddItem(spG2antt1->GetVersion()),long(0),L"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "); spG2antt1->EndUpdate(); |
2098 |
How can I display 12-hour time (method 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutLevelCount(2); var_Chart->GetLevel(0)->PutLabel(long(4096)); EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1); var_Level->PutUnit(EXG2ANTTLib::exHour); var_Level->PutFormatLabel(L"(0 := hour(dvalue)) < 12 ? ( `<fgcolor=808080>` + ( =:0 = 0 ? 12 : =:0 ) + `</fgcolor>` ) : (=:0 - 12)"); spG2antt1->EndUpdate(); |
2097 |
How can I display 12-hour time (method 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutLevelCount(2); var_Chart->GetLevel(0)->PutLabel(long(4096)); var_Chart->GetLevel(1)->PutLabel("<%h12%>"); spG2antt1->EndUpdate(); |
2096 |
How do I scale to hours
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutLevelCount(2); var_Chart->GetLevel(0)->PutLabel(long(4096)); var_Chart->GetLevel(1)->PutLabel(long(65536)); spG2antt1->EndUpdate(); |
2095 |
How do I display the position of the item with 0-padding
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")))->PutFormatColumn(L"((1 apos ``) lpad `00`) + `. ` + value"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); var_Items->AddItem("Item D"); spG2antt1->EndUpdate(); |
2094 |
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 2)
|
2093 |
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 1)
|
2092 |
How can I change the caption for all bars
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Tasks"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2017,8,1,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,128); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Add(L"Task%Progress"); var_Bar->PutShortcut(L"Task"); var_Bar->PutDef(EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2017,8,2,0,00,00).operator DATE(),COleDateTime(2017,8,6,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2017,8,3,0,00,00).operator DATE(),COleDateTime(2017,8,9,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2017,8,4,0,00,00).operator DATE(),COleDateTime(2017,8,13,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Task 4"),"Task",COleDateTime(2017,8,5,0,00,00).operator DATE(),COleDateTime(2017,8,16,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_FALSE); var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarCaption,"<%= %C0 replace `Task` with `Task<off 4><b>` %>"); var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarHAlignCaption,long(18)); spG2antt1->EndUpdate(); |
2091 |
Can't get the +/- to be displayed on a divider item. What else can I do
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutTreeColumnIndex(0); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::AppearanceEnum(0xfffffff8 | EXG2ANTTLib::Bump | EXG2ANTTLib::Sunken)); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutWidth(32); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index ``"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Cell 1"); var_Items->PutCellSingleLine(h,long(1),EXG2ANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is bit of text merges all cells in the item (divider shows no +/-)"); var_Items->PutItemDivider(h,0); var_Items->PutItemBackColor(h,RGB(240,240,240)); var_Items->PutItemDividerLine(h,EXG2ANTTLib::EmptyLine); var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Cell 3"); h = var_Items->AddItem("This is bit of text merges all cells in the item (merge shows +/-)"); var_Items->PutItemBackColor(h,RGB(240,240,240)); var_Items->PutCellMerge(h,long(0),long(1)); var_Items->InsertItem(h,vtMissing,"Child 3"); var_Items->InsertItem(h,vtMissing,"Child 4"); var_Items->PutExpandItem(h,VARIANT_TRUE); spG2antt1->EndUpdate(); |
2090 |
How can I display one or more columns on the same bar
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Summary",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); long l = var_Items->GetGroupItem(Item); var_Items->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items->PutCellBold(Item,l,VARIANT_TRUE); var_Items->PutItemBackColor(Item,RGB(190,190,190)); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(190,190,190)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") + "IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" + "NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" + "BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" + "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Summary"); var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutShape(EXG2ANTTLib::exShapeSolid); var_Bar->PutColor(0x1000000); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%513%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->GetItem("Task"); var_Bar1->PutPattern(EXG2ANTTLib::exPatternBox); var_Bar1->PutColor(RGB(164,164,164)); var_Bar1->PutStartColor(RGB(240,240,240)); var_Bar1->PutEndColor(var_Bar1->GetStartColor()); var_Bar1->PutDef(EXG2ANTTLib::exBarCaption,"<%= `<font ;6><fgcolor=0000FF><i>` + %C0 + ` ` + %C1 + ` ` + %C2 %>"); var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(13)); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C2")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C3")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutHasLines(EXG2ANTTLib::exNoLine); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.3"); var_Items->PutCellValue(h,long(2),"SubItem A.4"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.5"); var_Items->PutCellValue(h,long(2),"SubItem A.6"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.7"); var_Items->PutCellValue(h,long(2),"SubItem A.8"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.3"); var_Items->PutCellValue(h,long(2),"SubItem B.4"); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2089 |
How can I associate a box/note to a date into the control's header
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); spG2antt1->GetColumns()->Add(L"Task"); spG2antt1->PutHeaderHeight(17); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,96); var_Chart->PutLevelCount(2); var_Chart->PutSelBackColor(spG2antt1->GetSelBackColor()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item 1"); var_Items->PutSelectItem(var_Items->AddItem("Item 2"),VARIANT_TRUE); var_Items->AddItem("Item 3"); EXG2ANTTLib::INotesPtr var_Notes = spG2antt1->GetChart()->GetNotes(); EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems(); var_Items1->PutLockedItemCount(EXG2ANTTLib::exTop,1); long hLocked = var_Items1->GetLockedItem(EXG2ANTTLib::exTop,0); var_Items1->PutItemHeight(hLocked,1); EXG2ANTTLib::INotePtr var_Note = var_Notes->Add("header",hLocked,COleDateTime(2001,1,7,0,00,00).operator DATE(),L"Date:<br><%dd%>/<%mm%><br><b><%yyyy%></b>"); var_Note->PutPartVisible(EXG2ANTTLib::exNoteStart,VARIANT_TRUE); var_Note->PutPartText(EXG2ANTTLib::exNoteStart,L"<b><%d%></b>"); var_Note->PutPartCanMove(EXG2ANTTLib::exNoteEnd,VARIANT_TRUE); var_Note->PutPartCanMove(EXG2ANTTLib::exNoteStart,VARIANT_TRUE); var_Note->PutPartVOffset(EXG2ANTTLib::exNoteStart,-9); var_Note->PutPartVOffset(EXG2ANTTLib::exNoteEnd,20); var_Note->PutPartHOffset(EXG2ANTTLib::exNoteEnd,20); var_Note->PutPartBackColor(EXG2ANTTLib::exNoteStart,RGB(255,255,0)); var_Note->PutPartFixedWidth(EXG2ANTTLib::exNoteStart,18); spG2antt1->EndUpdate(); |
2088 |
How can I define a column of button type
// ButtonClick event - Occurs when user clicks on the cell's button. void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); OutputDebugStringW( _bstr_t(var_Items->GetCellValue(Item,ColIndex)) ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Button"))); var_Column->PutDef(EXG2ANTTLib::exCellHasButton,VARIANT_TRUE); var_Column->PutDef(EXG2ANTTLib::exCellButtonAutoWidth,VARIANT_FALSE); var_Column->PutFormatColumn(L"``"); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(48); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Second")))->PutFormatColumn(L"` Item ` + 1 index ``"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Button 1"); var_Items->AddItem("Button 2"); var_Items->AddItem("Button 3 "); spG2antt1->EndUpdate(); |
2087 |
Is it possible to configure different colour/icon when there is a active filter
// FilterChange event - Occurs when the filter was changed. void OnFilterChangeG2antt1() { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutBackground(EXG2ANTTLib::exHeaderFilterBarButton,spG2antt1->FormatABC(L"value = 0 ? 0x1000001 : 0x10000FF ",spG2antt1->GetColumns()->GetItem(long(0))->GetFilterType(),vtMissing,vtMissing)); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->PutRenderType(-16777216); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") + "gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" + "dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutShowFocusRect(VARIANT_FALSE); spG2antt1->PutBackground(EXG2ANTTLib::exHeaderFilterBarButton,0x1000001); spG2antt1->PutBackground(EXG2ANTTLib::exCursorHoverColumn,-1); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutBackColorHeader(RGB(255,255,255)); spG2antt1->PutHeaderVisible(EXG2ANTTLib::exHeaderVisibleExtendLevels); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Filter"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutAllowDragging(VARIANT_FALSE); var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilter(L"Item B"); var_Column1->PutFilterType(EXG2ANTTLib::exFilter); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2086 |
ADODB Requery sample
// ButtonClick event - Occurs when user clicks on the cell's button. void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_CommandPtr cmd = ::CreateObject(L"ADODB.Command"); cmd->PutActiveConnection(((ADODB::_ConnectionPtr)(((ADODB::_RecordsetPtr)(spG2antt1->GetDataSource()))->GetActiveConnection()))); cmd->PutCommandText(L"INSERT INTO Orders (EmployeeID) VALUES(12345)"); cmd->PutCommandType(ADODB::adCmdText); cmd->Execute(vtMissing,vtMissing,0); ((ADODB::_RecordsetPtr)(spG2antt1->GetDataSource()))->Requery(0); } // Error event - Fired when an internal error occurs. void OnErrorG2antt1(long Error,LPCTSTR Description) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"Description" ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); rs->Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",ADODB::adOpenKeyset,ADODB::adLockOptimistic,0); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); spG2antt1->GetConditionalFormats()->Add(L"%1=12345",vtMissing)->PutBackColor(RGB(240,240,240)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,1); long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0); var_Items->PutItemDivider(h,0); var_Items->PutCellHasButton(h,long(0),VARIANT_TRUE); var_Items->PutCellValue(h,long(0),"Requery (add a new record, using ADODB.Command)"); var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment); spG2antt1->EndUpdate(); |
2085 |
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") + "LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" + "KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLx" + "PF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" + "b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" + "GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" + "ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" + "sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" + "pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAA" + "MR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH" + "4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzN") + "C0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3" + "aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DB" + "aEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" + "BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoe" + "EmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA=="); spG2antt1->PutBackColorHeader(0x1000000); spG2antt1->PutForeColorHeader(RGB(128,128,128)); spG2antt1->PutBackground(EXG2ANTTLib::exHeaderFilterBarButton,0x2000000); spG2antt1->PutBackground(EXG2ANTTLib::exBackColorFilter,RGB(255,255,255)); spG2antt1->PutBackground(EXG2ANTTLib::exForeColorFilter,RGB(0,0,1)); spG2antt1->PutBackground(EXG2ANTTLib::exSelBackColorFilter,0x1ff8000); spG2antt1->PutBackground(EXG2ANTTLib::exSelForeColorFilter,RGB(240,240,240)); spG2antt1->PutBackground(EXG2ANTTLib::exCursorHoverColumn,-1); spG2antt1->PutHeaderHeight(24); spG2antt1->PutBackColorLevelHeader(spG2antt1->GetBackColor()); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Filter"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); var_Column->PutDef(EXG2ANTTLib::exHeaderPaddingLeft,long(2)); var_Column->PutDef(EXG2ANTTLib::exHeaderPaddingRight,long(2)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("A"); var_Items->AddItem("B"); var_Items->AddItem("C"); var_Items->AddItem("D"); spG2antt1->EndUpdate(); |
2084 |
I specify the ItemHeight for each row, but as soon as I click the chart section, the item's height is restored to default (not working). What could be the cause
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); spG2antt1->GetColumns()->Add(L"Types"); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines); var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto); var_Chart->PutAllowLinkBars(VARIANT_FALSE); var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour); var_Chart->PutPaneWidth(VARIANT_FALSE,112); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsStack); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("ItemMinHeight"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A1",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"A2",vtMissing); var_Items->PutItemMinHeight(h,64); var_Items->AddBar(var_Items->AddItem("Default (One)"),"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A3",vtMissing); h = var_Items->AddItem("Default (Two)"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A4",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"A5",vtMissing); h = var_Items->AddItem("ItemFixedHeight"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A6",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"A7",vtMissing); var_Items->PutItemMinHeight(h,20); var_Items->PutItemMaxHeight(h,20); h = var_Items->AddItem("ItemMaxHeight"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A8",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"A9",vtMissing); var_Items->PutItemMaxHeight(h,24); spG2antt1->EndUpdate(); |
2083 |
The ItemHeight property is not working (method 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column")))->PutWidth(128); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellSingleLine(var_Items->AddItem("This is a bit of text that should break the line"),long(0),EXG2ANTTLib::exCaptionWordWrap); long h = var_Items->AddItem(""); var_Items->PutItemDivider(h,0); var_Items->PutSelectableItem(h,VARIANT_FALSE); var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerCenter); var_Items->PutItemHeight(h,3); var_Items->PutCellSingleLine(var_Items->AddItem("This is a bit of text that should break the line"),long(0),EXG2ANTTLib::exCaptionWordWrap); spG2antt1->EndUpdate(); |
2082 |
The ItemHeight property is not working (method 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column"))); var_Column->PutWidth(128); var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,long(0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("This is a bit of text that should break the line"); long h = var_Items->AddItem(""); var_Items->PutItemDivider(h,0); var_Items->PutSelectableItem(h,VARIANT_FALSE); var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerCenter); var_Items->PutItemMinHeight(h,3); var_Items->PutItemMaxHeight(h,3); var_Items->AddItem("This is a bit of text that should break the line"); spG2antt1->EndUpdate(); |
2081 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns
|
2080 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn
|
2079 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"City"); var_Columns->Add(L"Start"); var_Columns->Add(L"End"); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutBackColorSortBar(RGB(250,250,250)); spG2antt1->PutDescription(EXG2ANTTLib::exColumnsFloatBar,L"Group-By"); spG2antt1->PutColumnsFloatBarVisible(EXG2ANTTLib::exColumnsFloatBarVisibleIncludeGroupByColumns); spG2antt1->PutColumnsFloatBarSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->GetColumns()->GetItem("City")->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2078 |
How can I advance to the next line, once the user presses the ENTER key
// KeyDown event - Occurs when the user presses a key while an object has the focus. void OnKeyDownG2antt1(short FAR* KeyCode,short Shift) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"KeyCode Before:" ); OutputDebugStringW( L"KeyCode" ); KeyCode = spG2antt1->FormatABC(L"value = 13 ? 40 : value",KeyCode,vtMissing,vtMissing); OutputDebugStringW( L"KeyCode After:" ); OutputDebugStringW( L"KeyCode" ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"A")))->GetEditor(); var_Editor->PutAppearance(EXG2ANTTLib::EtchedApp); var_Editor->PutEditType(EXG2ANTTLib::EditType); EXG2ANTTLib::IEditorPtr var_Editor1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"B")))->GetEditor(); var_Editor1->PutAppearance(EXG2ANTTLib::EtchedApp); var_Editor1->PutEditType(EXG2ANTTLib::EditType); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h0 = var_Items->AddItem("Item A.1"); var_Items->PutCellValue(h0,long(1),"Item B.1"); h0 = var_Items->AddItem("Item A.2"); var_Items->PutCellValue(h0,long(1),"Item B.2"); spG2antt1->EndUpdate(); |
2077 |
I am using AddNew to add new records, but I can not see them into the control
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(1)),var_Items->GetCellValue(Item,long(2)),vtMissing,vtMissing); } // ButtonClick event - Occurs when user clicks on the cell's button. void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr var_Recordset = ((ADODB::_RecordsetPtr)(spG2antt1->GetDataSource())); var_Recordset->AddNew(vtMissing,vtMissing); var_Recordset->GetFields()->GetItem("Name")->PutValue("Task New"); var_Recordset->Update(vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); ADODB::FieldsPtr var_Fields = rs->GetFields(); var_Fields->Append(L"Name",ADODB::adBSTR,0,vtMissing,vtMissing); var_Fields->Append(L"Start",ADODB::adDate,0,vtMissing,vtMissing); var_Fields->Append(L"End",ADODB::adDate,0,vtMissing,vtMissing); rs->Open(vtMissing,vtMissing,vtMissing,vtMissing,0); rs->AddNew(vtMissing,vtMissing); rs->GetFields()->GetItem("Name")->PutValue("Task A"); rs->GetFields()->GetItem("Start")->PutValue(COleDateTime(2001,1,4,0,00,00).operator DATE()); rs->GetFields()->GetItem("End")->PutValue(COleDateTime(2001,1,10,0,00,00).operator DATE()); rs->Update(vtMissing,vtMissing); rs->AddNew(vtMissing,vtMissing); rs->GetFields()->GetItem("Name")->PutValue("Task B"); rs->GetFields()->GetItem("Start")->PutValue(COleDateTime(2001,1,5,0,00,00).operator DATE()); rs->GetFields()->GetItem("End")->PutValue(COleDateTime(2001,1,11,0,00,00).operator DATE()); rs->Update(vtMissing,vtMissing); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem("Start")->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem("End")->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,1); long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0); var_Items->PutItemDivider(h,0); var_Items->PutCellHasButton(h,long(0),VARIANT_TRUE); var_Items->PutCellValue(h,long(0),"AddNew"); var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment); spG2antt1->PutDetectAddNew(VARIANT_TRUE); spG2antt1->PutDetectDelete(VARIANT_TRUE); spG2antt1->EndUpdate(); |
2076 |
How can I create a new ADO recordset
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(1)),var_Items->GetCellValue(Item,long(2)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); ADODB::FieldsPtr var_Fields = rs->GetFields(); var_Fields->Append(L"Name",ADODB::adBSTR,0,vtMissing,vtMissing); var_Fields->Append(L"Start",ADODB::adDate,0,vtMissing,vtMissing); var_Fields->Append(L"End",ADODB::adDate,0,vtMissing,vtMissing); rs->Open(vtMissing,vtMissing,vtMissing,vtMissing,0); rs->AddNew(vtMissing,vtMissing); rs->PutFields(ADODB::adOpenForwardOnly); rs->PutFields(ADODB::adOpenForwardOnly); rs->PutFields(ADODB::adOpenForwardOnly); rs->Update(vtMissing,vtMissing); rs->AddNew(vtMissing,vtMissing); rs->PutFields(ADODB::adOpenForwardOnly); rs->PutFields(ADODB::adOpenForwardOnly); rs->PutFields(ADODB::adOpenForwardOnly); rs->Update(vtMissing,vtMissing); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem("Start")->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem("End")->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2075 |
Do do I get the DAO version I have installed
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ OutputDebugStringW( ::CreateObject(L"DAO.DBEngine.35")->GetVersion()->GetVersion() ); OutputDebugStringW( ::CreateObject(L"DAO.DBEngine.36")->GetVersion()->GetVersion() ); OutputDebugStringW( ::CreateObject(L"DAO.DBEngine.120")->GetVersion()->GetVersion() ); |
2074 |
How do I get a list of interfaces the object implemenets
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'DAO' for the library: 'Microsoft Office 15.0 Access database engine Object Library' #import <ACEDAO.DLL> */ DAO::_DBEnginePtr var_PrivDBEngine = ::CreateObject(L"DAO.DBEngine.120"); DAO::Recordset2Ptr rs = ((DAO::Recordset2Ptr)(var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",vtMissing,vtMissing,vtMissing)->OpenRecordset(L"Orders",vtMissing,vtMissing,vtMissing))); OutputDebugStringW( _bstr_t(::CreateObject(L"Exontrol.PropertiesList")) ); spG2antt1->PutDataSource(((DAO::Recordset2Ptr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2073 |
Do do I get the ADO version I have installed
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ OutputDebugStringW( L"ADO Version:" ); OutputDebugStringW( ::CreateObject(L"ADODB.Connection")->GetVersion()->GetVersion() ); |
2072 |
DAO, ACCDB, 120
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'DAO' for the library: 'Microsoft Office 15.0 Access database engine Object Library' #import <ACEDAO.DLL> */ DAO::_DBEnginePtr var_PrivDBEngine = ::CreateObject(L"DAO.DBEngine.120"); DAO::Recordset2Ptr rs = ((DAO::Recordset2Ptr)(var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",vtMissing,vtMissing,vtMissing)->OpenRecordset(L"Orders",vtMissing,vtMissing,vtMissing))); spG2antt1->PutDataSource(((DAO::Recordset2Ptr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2071 |
DAO, MDB, 120
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'DAO' for the library: 'Microsoft Office 15.0 Access database engine Object Library' #import <ACEDAO.DLL> */ DAO::_DBEnginePtr var_PrivDBEngine = ::CreateObject(L"DAO.DBEngine.120"); DAO::Recordset2Ptr rs = ((DAO::Recordset2Ptr)(var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\sample\\Access\\misc.mdb",vtMissing,vtMissing,vtMissing)->OpenRecordset(L"Orders",vtMissing,vtMissing,vtMissing))); spG2antt1->PutDataSource(((DAO::Recordset2Ptr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2070 |
DAO, MDB
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'DAO' for the library: 'Microsoft DAO 3.6 Object Library' #import <dao360.dll> */ DAO::_DBEnginePtr var_PrivDBEngine = ::CreateObject(L"DAO.DBEngine.36"); DAO::RecordsetPtr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\sample\\Access\\misc.mdb",vtMissing,vtMissing,vtMissing)->OpenRecordset(L"Orders",vtMissing,vtMissing,vtMissing); spG2antt1->PutDataSource(((DAO::RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2069 |
ADODB, ACCDB, x64
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",ADODB::adOpenKeyset,ADODB::adLockReadOnly,0); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2068 |
ADOR, ACCDB
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset"); rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2067 |
ADODB, MDB
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2066 |
ADOR, MDB
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset"); rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0); spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,4,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); spG2antt1->EndUpdate(); |
2065 |
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Tasks"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),vtMissing,vtMissing); long h = var_Items->AddItem("Task 2"); var_Items->AddBar(h,"Task",COleDateTime(2006,9,22,0,00,00).operator DATE(),COleDateTime(2006,9,25,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBold(h,VARIANT_TRUE); var_Items->CellValueToItemBar(h,long(1),EXG2ANTTLib::exBarStart,"newbar"); var_Items->CellValueToItemBar(h,long(2),EXG2ANTTLib::exBarEnd,"newbar"); var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2006,9,23,0,00,00).operator DATE(),COleDateTime(2006,9,26,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2064 |
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Tasks"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,196); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),vtMissing,vtMissing); long h = var_Items->AddItem("Task 2"); var_Items->AddBar(h,"Task",COleDateTime(2006,9,22,0,00,00).operator DATE(),COleDateTime(2006,9,25,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutFormatCell(h,long(1),L"``"); var_Items->PutFormatCell(h,long(2),L"``"); var_Items->PutItemBold(h,VARIANT_TRUE); var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2006,9,23,0,00,00).operator DATE(),COleDateTime(2006,9,26,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2063 |
How can I use the CRD (eXCRD format)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellFormatLevel,_bstr_t("[b=0]60;1[b=15]:60,((20;\"<fgcolor=808080>Dateigröße\"[b=1][a=2]:120,2[b=15])/(20;\"<fgcolor=808080>Erstellt am\"[a=2]:120,3[b=") + "15])/(20;\"<fgcolor=808080>Zuletzt bearbeitet\"[b=4][a=2]:120,4[b=15]))"); var_Column->PutAllowSort(VARIANT_FALSE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"1")))->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"2"))); var_Column1->PutVisible(VARIANT_FALSE); var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::EditType); var_Column1->PutFormatColumn(L"1 index `A-Z`"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"3"))); var_Column2->PutVisible(VARIANT_FALSE); var_Column2->GetEditor()->PutEditType(EXG2ANTTLib::EditType); var_Column2->PutFormatColumn(L"1 index ``"); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"4"))); var_Column3->PutVisible(VARIANT_FALSE); var_Column3->GetEditor()->PutEditType(EXG2ANTTLib::EditType); var_Column3->PutFormatColumn(L"date(``)"); _bstr_t dih = 48; spG2antt1->PutDefaultItemHeight(dih); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutDrawGridLines(EXG2ANTTLib::exRowLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); var_Chart->PutPaneWidth(VARIANT_FALSE,256); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsStack)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(""); var_Items->PutCellValue(h,long(1),"One"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"A",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,14,0,00,00).operator DATE(),"B",vtMissing); var_Items->PutItemMaxHeight(h,dih); h = var_Items->AddItem(""); var_Items->PutCellValue(h,long(1),"Two"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"B",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,14,0,00,00).operator DATE(),"B2",vtMissing); var_Items->PutItemMaxHeight(h,dih); h = var_Items->AddItem(""); var_Items->PutCellValue(h,long(1),"Three"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"A",vtMissing); spG2antt1->EndUpdate(); |
2062 |
Type of wraps the cell's caption support (Sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderSingleLine(VARIANT_FALSE); spG2antt1->PutHeaderHeight(36); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Single-Line (exCaptionSingleLine)"))); var_Column->PutWidth(96); var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,long(-1)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)"))); var_Column1->PutWidth(96); var_Column1->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column1->PutDef(EXG2ANTTLib::exCellSingleLine,long(0)); var_Column1->PutFormatColumn(L"%0"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)"))); var_Column2->PutWidth(96); var_Column2->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column2->PutDef(EXG2ANTTLib::exCellSingleLine,long(1)); var_Column2->PutFormatColumn(L"%0"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->AddItem("This is the <b>first</b> line.\\r\\nThis is the <b>second</b> line.\\r\\nThis is the <b>third</b> line."); spG2antt1->EndUpdate(); |
2061 |
Type of wraps the cell's caption support (Sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderSingleLine(VARIANT_FALSE); spG2antt1->PutHeaderHeight(36); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default")))->PutWidth(128); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML); h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->PutCellSingleLine(h,long(0),EXG2ANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXG2ANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->PutCellSingleLine(h,long(0),EXG2ANTTLib::exCaptionBreakWrap); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXG2ANTTLib::exCaptionBreakWrap); spG2antt1->EndUpdate(); |
2060 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default")))->PutWidth(128); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellSingleLine(var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."),long(0),EXG2ANTTLib::exCaptionBreakWrap); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); spG2antt1->EndUpdate(); |
2059 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutWidth(128); var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,long(1)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); spG2antt1->EndUpdate(); |
2058 |
The histogram is showing empty space, when expanding an item. What could be wrong
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesOutside); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutHistogramVisible(VARIANT_TRUE); var_Chart->PutHistogramHeight(48); var_Chart->PutHistogramView(EXG2ANTTLib::HistogramViewEnum(EXG2ANTTLib::exHistogramNoGrouping | EXG2ANTTLib::exHistogramLeafItems | EXG2ANTTLib::exHistogramAllItems)); var_Chart->GetBars()->GetItem("Task")->PutHistogramPattern(EXG2ANTTLib::exPatternBDiagonal); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Project 1"); var_Items->AddBar(var_Items->InsertItem(h,vtMissing,"Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->InsertItem(h,vtMissing,"Item 2"),"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Project 2"); var_Items->AddBar(var_Items->InsertItem(h,vtMissing,"Item 1"),"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->InsertItem(h,vtMissing,"Item 2"),"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2057 |
How can I change the visual appearance/color of the Filter For ... field
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutBackColorHeader(RGB(1,0,0)); spG2antt1->PutForeColorHeader(RGB(255,255,255)); spG2antt1->PutBackground(EXG2ANTTLib::exBackColorFilter,spG2antt1->GetBackColorHeader()); spG2antt1->PutBackground(EXG2ANTTLib::exForeColorFilter,spG2antt1->GetForeColorHeader()); spG2antt1->PutBackground(EXG2ANTTLib::exHeaderFilterBarButton,RGB(240,240,240)); spG2antt1->PutBackground(EXG2ANTTLib::exCursorHoverColumn,-1); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Bump); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items"))); var_Column->PutFilterOnType(VARIANT_TRUE); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::exNoItems); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); spG2antt1->EndUpdate(); |
2056 |
How can I display the cell's caption without spaces on both sides
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column->PutFormatColumn(L"((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spG2antt1->EndUpdate(); |
2055 |
How can I highlight the spaces within the column (sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column->PutFormatColumn(L"`'` + ( value replace ` ` with `_` ) + `'`"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spG2antt1->EndUpdate(); |
2054 |
How can I highlight the spaces within the column (sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column->PutFormatColumn(L"len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spG2antt1->EndUpdate(); |
2053 |
How can I change the visual aspect of the drop down filter-calendar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutBackground(EXG2ANTTLib::exBackColorFilter,RGB(0,0,1)); spG2antt1->PutBackground(EXG2ANTTLib::exForeColorFilter,RGB(255,255,255)); spG2antt1->PutBackground(EXG2ANTTLib::exDateScrollRange,RGB(255,255,255)); spG2antt1->PutBackground(EXG2ANTTLib::exDateHeader,spG2antt1->GetBackground(EXG2ANTTLib::exBackColorFilter)); spG2antt1->PutBackground(EXG2ANTTLib::exDateScrollThumb,RGB(128,128,128)); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date"))); var_Column->PutFilterType(EXG2ANTTLib::exDate); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterDate(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); spG2antt1->EndUpdate(); |
2052 |
How can I scroll the chart to ensure that a bar fits the chart's client area
// ButtonClick event - Occurs when user clicks on the cell's button. void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t kBar = spG2antt1->GetItems()->GetFirstItemBar(Item); _variant_t dStart = spG2antt1->GetItems()->GetItemBar(Item,kBar,EXG2ANTTLib::exBarStart); _variant_t dEnd = spG2antt1->GetItems()->GetItemBar(Item,kBar,EXG2ANTTLib::exBarEnd); _variant_t dScroll = spG2antt1->FormatABC(L"(A+B)/2",dStart,dEnd,vtMissing); spG2antt1->GetChart()->ScrollTo(dScroll,long(1)); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutShowFocusRect(VARIANT_FALSE); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesDot4); spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutOverviewVisible(EXG2ANTTLib::OverviewVisibleEnum(EXG2ANTTLib::exOverviewShowDateTimeScaleBottom | EXG2ANTTLib::exOverviewAllowVerticalScroll | EXG2ANTTLib::exOverviewShowAllVisible)); var_Chart->PutOverviewHeight(26); var_Chart->PutFirstVisibleDate(COleDateTime(2011,6,8,0,00,00).operator DATE()); var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE); var_Chart->PutPaneWidth(VARIANT_FALSE,64); var_Chart->PutUnitWidth(14); var_Chart->PutLevelCount(2); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesDot4); var_Chart->PutSelBackColor(spG2antt1->GetSelBackColor()); var_Chart->PutColumnsFormatLevel(L"\"\":2,(\"\"/14;1/\"\"):14"); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Default"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L""))); var_Column->PutDef(EXG2ANTTLib::exCellHasButton,VARIANT_TRUE); var_Column->PutDef(EXG2ANTTLib::exCellBackColor,long(15790320)); var_Column->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("T1"),"Task",COleDateTime(2011,6,9,0,00,00).operator DATE(),COleDateTime(2011,6,17,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T2"),"Task",COleDateTime(2012,1,10,0,00,00).operator DATE(),COleDateTime(2012,1,17,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T3"),"Task",COleDateTime(2013,2,19,0,00,00).operator DATE(),COleDateTime(2013,2,23,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T4"),"Task",COleDateTime(2014,12,19,0,00,00).operator DATE(),COleDateTime(2014,12,23,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2051 |
Is it possible to hide completely the list portion
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderHeight(32); spG2antt1->PutOnResizeControl(EXG2ANTTLib::OnResizeControlEnum(EXG2ANTTLib::exDisableSplitter | EXG2ANTTLib::exResizeChart)); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"%CS0 = 1",vtMissing); var_ConditionalFormat->PutApplyToBars(L"Task"); var_ConditionalFormat->PutBarColor(RGB(255,0,0)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2011,6,8,0,00,00).operator DATE()); var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutLevelCount(2); var_Chart->PutAllowInsideZoom(VARIANT_TRUE); EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0); var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment); var_Level->PutLabel("<b><%d%>-<%mmm%>-<%yyyy%>"); var_Level->PutUnit(EXG2ANTTLib::exDay); EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1); var_Level1->PutLabel("<%h%>"); var_Level1->PutCount(8); var_Level1->PutUnit(EXG2ANTTLib::exHour); var_Level1->PutFormatLabel(_bstr_t("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '") + "Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " + "16 : 'Shift <b>3</b><br>26/24' ) ) )"); var_Chart->PutUnitWidth(64); var_Chart->PutNonworkingDays(0); var_Chart->PutColumnsFormatLevel(L"0"); var_Chart->PutAllowInsideZoom(VARIANT_TRUE); var_Chart->GetDefaultInsideZoomFormat()->PutInsideUnit(EXG2ANTTLib::exMinute); var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE); var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE); EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms(); var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE); var_InsideZooms->PutDefaultWidth(0); EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms1 = var_Chart->GetInsideZooms(); var_InsideZooms1->Add(COleDateTime(2011,6,9,8,00,00).operator DATE()); var_InsideZooms1->Add(COleDateTime(2011,6,9,16,00,00).operator DATE()); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesDot4); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Defaul")))->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("T1"),"Task",COleDateTime(2011,6,8,8,00,00).operator DATE(),COleDateTime(2011,6,10,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T2"),"Task",COleDateTime(2011,6,8,16,00,00).operator DATE(),COleDateTime(2011,6,10,8,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T3"),"Task",COleDateTime(2011,6,9,0,00,00).operator DATE(),COleDateTime(2011,6,10,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutCellState(var_Items->GetItemByIndex(1),long(0),1); spG2antt1->EndUpdate(); |
2050 |
How can I find out what exBarWorkingCount represents
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Tasks"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(42); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Format"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column1->PutFormatColumn(_bstr_t("trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=i") + "nt((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(" + "=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0" + ":=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Value"))); var_Column2->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column2->PutSortType(EXG2ANTTLib::SortNumeric); var_Column2->GetEditor()->PutEditType(EXG2ANTTLib::EditType); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); spG2antt1->PutSelBackColor(RGB(204,232,255)); spG2antt1->PutSelForeColor(RGB(0,0,0)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutSelBackColor(spG2antt1->GetSelBackColor()); var_Chart->PutFirstVisibleDate(COleDateTime(2009,4,6,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); var_Chart->PutLevelCount(2); var_Chart->PutUnitScale(EXG2ANTTLib::exHour); var_Chart->PutNonworkingHours(15728767); var_Chart->PutShowNonworkingDates(VARIANT_FALSE); var_Chart->PutShowNonworkingUnits(VARIANT_FALSE); var_Chart->PutShowNonworkingHours(VARIANT_FALSE); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutDef(EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE); var_Chart->PutAllowLinkBars(VARIANT_FALSE); var_Chart->PutDrawGridLines(EXG2ANTTLib::exRowLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE); var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute); var_Chart->PutResizeUnitCount(15); var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") + "<%h%>:<%nn%> <%AM/PM%><||>15"); var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::ZoomOnFlyEnum(EXG2ANTTLib::exZoomOnFlyIncludeNeighborItems | EXG2ANTTLib::exZoomOnFly)); var_Chart->PutBackColorZoomOnFly(RGB(255,255,0)); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(""); var_Items->PutSelectableItem(h,VARIANT_FALSE); var_Items->PutSortableItem(h,VARIANT_FALSE); var_Items->AddBar(var_Items->AddItem("T1"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,13,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T2"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,16,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T3"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,19,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem(""); var_Items->PutSelectableItem(h,VARIANT_FALSE); var_Items->PutSortableItem(h,VARIANT_FALSE); spG2antt1->EndUpdate(); |
2049 |
How can I hide the filter bar description
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Filter"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::exFilter); var_Column->PutFilter(L"B"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("A"); var_Items->AddItem("B"); var_Items->AddItem("C"); spG2antt1->ApplyFilter(); spG2antt1->PutFilterBarHeight(0); spG2antt1->EndUpdate(); |
2048 |
How can I add a break bar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Tasks"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(42); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column1->PutFormatColumn(_bstr_t("((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ") + "? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); spG2antt1->PutSelBackColor(RGB(204,232,255)); spG2antt1->PutSelForeColor(RGB(0,0,0)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutSelBackColor(spG2antt1->GetSelBackColor()); var_Chart->PutFirstVisibleDate(COleDateTime(2009,4,6,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,164); var_Chart->PutLevelCount(2); var_Chart->PutUnitScale(EXG2ANTTLib::exHour); var_Chart->PutNonworkingHours(15728767); var_Chart->PutShowNonworkingDates(VARIANT_FALSE); var_Chart->PutShowNonworkingUnits(VARIANT_FALSE); var_Chart->PutShowNonworkingHours(VARIANT_FALSE); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Add(L"Task:Split"); var_Bar->PutDef(EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE); var_Bar->PutShortcut(L"Task"); var_Chart->PutAllowLinkBars(VARIANT_FALSE); var_Chart->PutDrawGridLines(EXG2ANTTLib::exRowLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE); var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute); var_Chart->PutResizeUnitCount(15); var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") + "<%h%>:<%nn%> <%AM/PM%><||>15"); var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::ZoomOnFlyEnum(EXG2ANTTLib::exZoomOnFlyIncludeNeighborItems | EXG2ANTTLib::exZoomOnFly)); var_Chart->PutBackColorZoomOnFly(RGB(255,255,0)); var_Chart->PutAllowNonworkingBars(VARIANT_TRUE); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(""); long h = var_Items->AddItem("T1"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) "); var_Items->AddBar(h,"",COleDateTime(2009,4,6,7,30,00).operator DATE(),COleDateTime(2009,4,6,9,30,00).operator DATE(),"A","<c><font ;4>break<br>bar"); var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,12,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T2"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,17,45,00).operator DATE(),vtMissing,vtMissing); var_Items->AddItem(""); spG2antt1->EndUpdate(); |
2047 |
It seems the ResizeUnitCount have no effect on the ZoomOnFly feature, is it normal
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Tasks"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(42); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column1->PutFormatColumn(_bstr_t("((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ") + "? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); spG2antt1->PutSelBackColor(RGB(204,232,255)); spG2antt1->PutSelForeColor(RGB(0,0,0)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutSelBackColor(spG2antt1->GetSelBackColor()); var_Chart->PutFirstVisibleDate(COleDateTime(2009,4,6,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,164); var_Chart->PutLevelCount(2); var_Chart->PutUnitScale(EXG2ANTTLib::exHour); var_Chart->PutNonworkingHours(15728767); var_Chart->PutShowNonworkingDates(VARIANT_FALSE); var_Chart->PutShowNonworkingUnits(VARIANT_FALSE); var_Chart->PutShowNonworkingHours(VARIANT_FALSE); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutDef(EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE); var_Chart->PutAllowLinkBars(VARIANT_FALSE); var_Chart->PutDrawGridLines(EXG2ANTTLib::exRowLines); var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesSolid); var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE); var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute); var_Chart->PutResizeUnitCount(15); var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") + "<%h%>:<%nn%> <%AM/PM%><||>15"); var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::ZoomOnFlyEnum(EXG2ANTTLib::exZoomOnFlyIncludeNeighborItems | EXG2ANTTLib::exZoomOnFly)); var_Chart->PutBackColorZoomOnFly(RGB(255,255,0)); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(""); var_Items->AddBar(var_Items->AddItem("T1"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,12,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("T2"),"Task",COleDateTime(2009,4,6,10,00,00).operator DATE(),COleDateTime(2009,4,6,17,45,00).operator DATE(),vtMissing,vtMissing); var_Items->AddItem(""); spG2antt1->EndUpdate(); |
2046 |
Export Data in HTML format
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemBold(Item,VARIANT_TRUE); var_Items->AddBar(Item,"Summary",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long i = var_Items->GetItemToIndex(Item); var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(Item,"",EXG2ANTTLib::exBarMove,i); var_Items->PutItemBar(Item,"",EXG2ANTTLib::exBarDuration,i); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutBackColorAlternate(RGB(240,240,240)); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace ") + "`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarShowCloseIfRequired | EXG2ANTTLib::exFilterBarSingleLine | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->PutFilterBarPromptType(EXG2ANTTLib::exFilterPromptContainsAny); spG2antt1->PutSingleSort(VARIANT_FALSE); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutBackColorSortBar(spG2antt1->GetBackColor()); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") + "IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" + "NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" + "BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" + "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="); var_Appearance->PutRenderType(-268435456); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Summary"); var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutShape(EXG2ANTTLib::exShapeSolid); var_Bar->PutColor(0x1808080); var_Bar->PutHeight(7); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%513%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->GetItem("Task"); var_Bar1->PutDef(EXG2ANTTLib::exBarCaption,"<%=(%2-%1) in (3,5) ? %513 : `` %>"); var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3"); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor()); var_ConditionalFormat->PutApplyToBars(L"Task"); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spG2antt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5"); var_ConditionalFormat1->PutForeColor(RGB(0,255,0)); var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor()); var_ConditionalFormat1->PutApplyToBars(L"Task"); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start"))); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task B"); var_Items->AddItem("Task B"); var_Items->AddItem("Task B"); var_Items->AddItem("Task C"); spG2antt1->GetColumns()->GetItem("Tasks")->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); _bstr_t sFile = "c:/temp/export.html"; spG2antt1->Export(sFile,"vis"); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'SHDocVw' for the library: 'Microsoft Internet Controls' #import <ieframe.dll> */ SHDocVw::IWebBrowser2Ptr var_ShellBrowserWindow = ::CreateObject(L"InternetExplorer.Application"); var_ShellBrowserWindow->Navigate2(sFile,vtMissing,vtMissing,vtMissing,vtMissing); |
2045 |
Export Data in CSV format
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long i = var_Items->GetItemToIndex(Item); var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(Item,"",EXG2ANTTLib::exBarMove,i); var_Items->PutItemBar(Item,"",EXG2ANTTLib::exBarDuration,i); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutBackColorAlternate(RGB(240,240,240)); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace ") + "`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarShowCloseIfRequired | EXG2ANTTLib::exFilterBarSingleLine | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->PutFilterBarPromptType(EXG2ANTTLib::exFilterPromptContainsAny); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=(%2-%1) in (3,5) ? %513 : `` %>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3"); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor()); var_ConditionalFormat->PutApplyToBars(L"Task"); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spG2antt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5"); var_ConditionalFormat1->PutForeColor(RGB(0,255,0)); var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor()); var_ConditionalFormat1->PutApplyToBars(L"Task"); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start"))); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1)); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2)); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task A"); var_Items->AddItem("Task B"); var_Items->AddItem("Task B"); var_Items->AddItem("Task B"); var_Items->AddItem("Task C"); spG2antt1->EndUpdate(); OutputDebugStringW( _bstr_t(spG2antt1->Export("","vis")) ); |
2044 |
I want to be able to detect when a user clicks on a row in the chart that is not populated
// MouseMove event - Occurs when the user moves the mouse. void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); long item = spG2antt1->GetItemFromPoint(-1,-1,col,hit); Date date = spG2antt1->GetChart()->GetDateFromPoint(-1,-1); _variant_t sMessage = spG2antt1->FormatABC(L"(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`) ",date,item,vtMissing); OutputDebugStringW( L"sMessage" ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2018,1,1,0,00,00).operator DATE()); spG2antt1->GetColumns()->Add(L"Tasks"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2018,1,2,0,00,00).operator DATE(),COleDateTime(2018,1,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2018,1,3,0,00,00).operator DATE(),COleDateTime(2018,1,13,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2018,1,4,0,00,00).operator DATE(),COleDateTime(2018,1,14,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2043 |
Is it possible to have multiple calendars. A calendar for each row for example. Reason : some of our lines work 2 shifts but some also have a night shift
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Tasks"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working"))); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column->PutFormatColumn(_bstr_t("((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((") + "1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2009,4,6,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,148); var_Chart->PutLevelCount(2); var_Chart->PutShowNonworkingUnits(VARIANT_FALSE); var_Chart->PutShowNonworkingDates(VARIANT_FALSE); EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars(); var_Bars->Add(L"Task:Split")->PutShortcut(L"Task"); var_Bars->GetItem("Task")->PutDef(EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE); var_Chart->PutLabel(EXG2ANTTLib::exHour,L"<%h%><||><||>65536"); var_Chart->GetLevel(0)->PutFormatLabel(L"`<font small fonts;6>` + value"); var_Chart->GetLevel(1)->PutFormatLabel(_bstr_t("len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (v") + "alue left 1) + `` )"); var_Chart->PutUnitScale(EXG2ANTTLib::exHour); var_Chart->PutUnitWidth(9); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); _bstr_t sCalendar1 = "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)"; long h = var_Items->AddItem("Shift 1"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar1"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,7,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Shift 1"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar1"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,8,0,00,00).operator DATE(),vtMissing,vtMissing); _bstr_t sCalendar2 = "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)"; h = var_Items->AddItem("Shift 2"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar2"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,7,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Shift 2"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar2"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,8,0,00,00).operator DATE(),vtMissing,vtMissing); _bstr_t sCalendar3 = "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) "; h = var_Items->AddItem("Shift 3"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar3"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,7,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Shift 3"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar3"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,8,0,00,00).operator DATE(),vtMissing,vtMissing); _bstr_t sCalendar4 = "weekday(value) in (0,6)"; h = var_Items->AddItem("Shift 3"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar4"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,7,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Shift 3"); var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"sCalendar4"); var_Items->AddBar(h,"Task",COleDateTime(2009,4,6,0,00,00).operator DATE(),COleDateTime(2009,4,8,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
2042 |
Is it possible to check multiple-items at once
|
2041 |
How can I prevent changing the start/end colors of the bar, when ItemBar(exBarColor) property is applied
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spG2antt1->GetVisualAppearance()->Add(1,"E:\\Exontrol\\ExButton\\sample\\EBN\\Assorted\\bhframe.ebn"); spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,96); EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars(); var_Bars->AddShapeCorner(long(12345),long(1)); var_Bars->AddShapeCorner(long(999),long(2)); var_Bars->AddShapeCorner(long(1049),long(3)); EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Add(L"T1"); var_Bar->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar->PutEndShape(EXG2ANTTLib::ShapeCornerEnum(0x3e0 | EXG2ANTTLib::exShapeIconLeft)); var_Bar->PutPattern(EXG2ANTTLib::exPatternNDot); var_Bar->PutStartColor(RGB(0,255,0)); var_Bar->PutColor(0x1000000); var_Bar->PutEndColor(RGB(255,0,0)); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=`<font ;6> ` + %0 + ``%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IBarPtr var_Bar1 = var_Bars->Add(L"T2"); var_Bar1->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar1->PutEndShape(EXG2ANTTLib::ShapeCornerEnum(0x400 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar1->PutPattern(EXG2ANTTLib::exPatternNDot); var_Bar1->PutStartColor(-1); var_Bar1->PutColor(0x1000000); var_Bar1->PutEndColor(-1); var_Bar1->PutDef(EXG2ANTTLib::exBarCaption,"<%=`<font ;6> ` + %0 + ``%>"); var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item 1"); var_Items->AddBar(h,"T1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Item 2"); var_Items->AddBar(h,"T1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(65280)); h = var_Items->AddItem("Item 3"); var_Items->AddBar(h,"T1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255)); h = var_Items->AddItem("Item 4"); var_Items->AddBar(h,"T2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Item 5"); var_Items->AddBar(h,"T2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(65280)); h = var_Items->AddItem("Item 6"); var_Items->AddBar(h,"T2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255)); spG2antt1->EndUpdate(); |
2040 |
How can I get the icon from the cell when using the Items.CellImages property (icon index)
// MouseMove event - Occurs when the user moves the mouse. void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit); OutputDebugStringW( _bstr_t(spG2antt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`",hit,spG2antt1->GetItems()->GetCellImages(i,c),vtMissing)) ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spG2antt1->GetColumns()->Add(L"Default"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1"); var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3"); var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2,"); spG2antt1->EndUpdate(); |
2039 |
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)
// MouseMove event - Occurs when the user moves the mouse. void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit); OutputDebugStringW( _bstr_t(spG2antt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit,vtMissing,vtMissing)) ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spG2antt1->GetColumns()->Add(L"Default"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1"); var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3"); var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2"); spG2antt1->EndUpdate(); |
2038 |
I have an EBN bar. Now if I apply an additional color to the bar, e,g, yellow, the bar is displayed as "dark yellow", which I assume is due to the black EBN color. How can I get the more "bright yellow" color
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Summary",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); long l = var_Items->GetGroupItem(Item); var_Items->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items->PutCellBold(Item,l,VARIANT_TRUE); var_Items->PutItemBackColor(Item,RGB(190,190,190)); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(190,190,190)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") + "IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" + "NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" + "BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" + "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="); var_Appearance->PutRenderType(-268435456); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Summary"); var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutShape(EXG2ANTTLib::exShapeSolid); var_Bar->PutColor(0x1ff0000); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%513%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutHasLines(EXG2ANTTLib::exNoLine); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2037 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderAppearance(EXG2ANTTLib::Etched); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Column 1"); var_Columns->Add(L"Column 2"); var_Columns->Add(L"Column 3"); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") + "IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" + "aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" + "eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" + "BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" + "GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI="); var_Appearance->Add(2,"CP:1 0 -36 0 0"); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsPositionSign,0x2000000); spG2antt1->EndUpdate(); |
2036 |
Overlaid-Types
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); _variant_t barName = var_Items->GetItemData(Item); var_Items->AddBar(Item,barName,COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing); var_Items->AddBar(Item,barName,COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing); var_Items->AddBar(Item,barName,COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing); var_Items->AddBar(Item,barName,COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"A4",vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDefaultItemHeight(22); spG2antt1->GetColumns()->Add(L"Task"); spG2antt1->PutScrollBySingleLine(VARIANT_TRUE); spG2antt1->PutBackColorAlternate(RGB(240,240,240)); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines); var_Chart->PutShowNonworkingDates(VARIANT_FALSE); var_Chart->PutPaneWidth(VARIANT_FALSE,164); var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->GetBars()->Copy(L"Task",L"Intersect")->PutColor(RGB(255,0,0)); var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsNone); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Copy(L"Task",L"Task-Transparent"); var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsNone); var_Bar->PutDef(EXG2ANTTLib::exBarTransparent,long(50)); var_Bar->PutPattern(EXG2ANTTLib::exPatternBox); var_Bar->PutColor(RGB(0,0,0)); var_Bar->PutStartColor(RGB(80,80,255)); var_Bar->PutEndColor(var_Bar->GetStartColor()); var_Chart->GetBars()->Copy(L"Task",L"Task-Offset")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Copy(L"Task",L"Task-OffsetTransparent"); var_Bar1->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsTransparent | EXG2ANTTLib::exOverlaidBarsOffset)); var_Bar1->PutOverlaid(EXG2ANTTLib::exOverlaidBarsTransparent,long(75)); EXG2ANTTLib::IBarPtr var_Bar2 = var_Chart->GetBars()->Copy(L"Task",L"Task-Intersect"); var_Bar2->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsIntersect); var_Bar2->PutOverlaid(EXG2ANTTLib::exOverlaidBarsIntersect,"Intersect"); var_Chart->GetBars()->Copy(L"Task",L"Task-Stack")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsStack); EXG2ANTTLib::IBarPtr var_Bar3 = var_Chart->GetBars()->Copy(L"Task",L"Task-StackAutoArrange"); var_Bar3->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsStack)); var_Bar3->PutColor(RGB(255,0,0)); var_Bar3->PutOverlaidGroup(L"Task"); EXG2ANTTLib::IBarPtr var_Bar4 = var_Chart->GetBars()->Copy(L"Task",L"Task-Cascade"); var_Bar4->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsCascade); var_Bar4->PutColor(RGB(255,0,0)); var_Bar4->PutOverlaidGroup(L"Task"); EXG2ANTTLib::IBarPtr var_Bar5 = var_Chart->GetBars()->Copy(L"Task",L"Task-Strict"); var_Bar5->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsStrict | EXG2ANTTLib::exOverlaidBarsStack)); var_Bar5->PutOverlaidGroup(L"Task"); var_Bar5->PutColor(RGB(255,0,0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->InsertItem(0,"Task","Overlaid-None"); var_Items->InsertItem(0,"Task-Transparent","Overlaid-Semi-Transparent"); var_Items->InsertItem(0,"Task-Offset","Overlaid-Offset"); var_Items->InsertItem(0,"Task-OffsetTransparent","Overlaid-OffsetTransparent"); var_Items->InsertItem(0,"Task-Intersect","Overlaid-Intersect"); var_Items->InsertItem(0,"Task-Stack","Overlaid-Stack"); long h = var_Items->InsertItem(0,"Task-StackAutoArrange","Overlaid-StackAutoArrange"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"T1",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"T2",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"T3",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"T4",vtMissing); h = var_Items->InsertItem(0,"Task-Cascade","Overlaid-Cascade"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"T1",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"T2",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"T3",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"T4",vtMissing); var_Items->PutItemBar(h,"<A*>",EXG2ANTTLib::exBarOverlaidKey,"A"); var_Items->PutItemBar(h,"<T*>",EXG2ANTTLib::exBarOverlaidKey,"T"); h = var_Items->InsertItem(0,"Task","Overlaid-StackStrict"); var_Items->AddBar(h,"Task-Strict",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"T1",vtMissing); var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarCaption,"<%=%9%>"); spG2antt1->EndUpdate(); |
2035 |
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemBackColor(Item,RGB(240,240,240)); _variant_t val = var_Items->GetCellValue(Item,var_Items->GetGroupItem(Item)); var_Items->PutCellState(Item,var_Items->GetGroupItem(Item),spG2antt1->FormatABC(L"A = `Checked` ? 1 : 0",val,vtMissing,vtMissing)); EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems(); var_Items1->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items1->AddBar(Item,"Summary",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items1->DefineSummaryBars(Item,"",-3,""); long l = var_Items1->GetGroupItem(Item); var_Items1->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items1->PutCellBold(Item,l,VARIANT_TRUE); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(240,240,240)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") + "IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" + "NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" + "BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" + "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Summary"); var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutShape(EXG2ANTTLib::exShapeSolid); var_Bar->PutColor(0x1000000); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%513%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 rpos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace ") + "`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + `" + " item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(2)); var_Column5->PutFormatColumn(L"%CS2 ? `Checked` : `Unchecked`"); var_Column5->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2034 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_TRUE); spG2antt1->PutDefaultItemHeight(20); spG2antt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m") + "Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" + "hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" + "6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" + "JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" + "0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Position"))); var_Column1->PutFormatColumn(L"1 rindex ``"); var_Column1->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing); var_ConditionalFormat->PutBackColor(0x1000000); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item 1"); var_Items->AddItem("Item 2"); var_Items->AddItem("Item 3"); var_Items->AddItem("Item 4"); spG2antt1->EndUpdate(); |
2033 |
How can I specify alternate background colors for each root item, similar with BackColorAlternate
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Position"))); var_Column1->PutFormatColumn(L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"); var_Column1->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing); var_ConditionalFormat->PutBackColor(RGB(240,240,240)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); h = var_Items->AddItem("Root 3"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); spG2antt1->EndUpdate(); |
2032 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutVisualDesign(_bstr_t("gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc") + "TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" + "CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" + "bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" + "N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" + "hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" + "hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" + "oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" + "KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" + "FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" + "gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" + "SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" + "BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spG2antt1->EndUpdate(); |
2031 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" + "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" + "gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" + "INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="); var_Appearance->Add(1,"CP:3 -2 -2 2 2"); var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" + "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" + "FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" + "JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="); var_Appearance->Add(2,"CP:4 -2 -2 2 2"); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesAtRoot); spG2antt1->PutHasButtons(EXG2ANTTLib::exCustom); spG2antt1->PutHasButtonsCustom(VARIANT_FALSE,16777216); spG2antt1->PutHasButtonsCustom(VARIANT_TRUE,33554432); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spG2antt1->EndUpdate(); |
2030 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,"XP:TREEVIEW 2 1"); var_Appearance->Add(2,"XP:TREEVIEW 2 2"); spG2antt1->PutBackground(EXG2ANTTLib::exTreeGlyphOpen,0x1000000); spG2antt1->PutBackground(EXG2ANTTLib::exTreeGlyphClose,0x2000000); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spG2antt1->EndUpdate(); |
2029 |
How can I find if the control is running in DPI mode
|
2028 |
How can I change the visual appearance of the +/- buttons (method 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" + "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" + "gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" + "INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" + "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" + "FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" + "JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutBackground(EXG2ANTTLib::exTreeGlyphOpen,0x1000000); spG2antt1->PutBackground(EXG2ANTTLib::exTreeGlyphClose,0x2000000); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spG2antt1->EndUpdate(); |
2027 |
How can I add a summary bar once the user group by a column
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Summary",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); long l = var_Items->GetGroupItem(Item); var_Items->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items->PutCellBold(Item,l,VARIANT_TRUE); var_Items->PutItemBackColor(Item,RGB(190,190,190)); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(190,190,190)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") + "IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" + "NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" + "BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" + "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Summary"); var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty); var_Bar->PutShape(EXG2ANTTLib::exShapeSolid); var_Bar->PutColor(0x1000000); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%513%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutHasLines(EXG2ANTTLib::exNoLine); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2026 |
Is it possible to display no +/- button for grouped items
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Progress",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); long l = var_Items->GetGroupItem(Item); var_Items->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items->PutCellBold(Item,l,VARIANT_TRUE); var_Items->PutItemBackColor(Item,RGB(190,190,190)); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(190,190,190)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); spG2antt1->PutHasLines(EXG2ANTTLib::exNoLine); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutSortOrder(EXG2ANTTLib::SortAscending); var_Column1->PutAlignment(EXG2ANTTLib::CenterAlignment); var_Column1->PutDef(EXG2ANTTLib::exCellBackColor,long(15790320)); spG2antt1->EndUpdate(); |
2025 |
How can I change the label, caption or the formula of the grouped items
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(Item,"Progress",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C1"))); var_Column->PutGroupByTotalField(L""); var_Column->PutGroupByFormatCell(L"upper(value)"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column1->PutFormatColumn(L"1 pos ``"); var_Column1->PutAllowGroupBy(VARIANT_FALSE); var_Column1->PutPosition(0); var_Column1->PutWidth(48); var_Column1->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2024 |
How can I change the aspect of grouped items
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Progress",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); long l = var_Items->GetGroupItem(Item); var_Items->PutCellSingleLine(Item,l,EXG2ANTTLib::exCaptionWordWrap); var_Items->PutCellBold(Item,l,VARIANT_TRUE); var_Items->PutItemBackColor(Item,RGB(190,190,190)); spG2antt1->GetChart()->PutItemBackColor(Item,RGB(190,190,190)); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2023 |
How can I collapse all items when the user performs a grouping
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void OnAddGroupItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutExpandItem(Item,VARIANT_FALSE); var_Items->PutItemDividerLine(Item,EXG2ANTTLib::EmptyLine); var_Items->AddBar(Item,"Progress",COleDateTime(2017,12,2,0,00,00).operator DATE(),COleDateTime(2017,12,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(Item,"",-3,""); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortAscending); spG2antt1->EndUpdate(); |
2022 |
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,10,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,342); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutFormatColumn(L"1 pos ``"); var_Column->PutAllowGroupBy(VARIANT_FALSE); var_Column->PutPosition(0); var_Column->PutWidth(48); var_Column->PutAllowSizing(VARIANT_FALSE); spG2antt1->PutSortBarVisible(VARIANT_TRUE); spG2antt1->PutSortBarCaption(L"<fgcolor=FF0000>Try to drag the Pos column here."); spG2antt1->PutAllowGroupBy(VARIANT_TRUE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item A"); var_Items->PutCellValue(h,long(1),"SubItem A.1"); var_Items->PutCellValue(h,long(2),"SubItem A.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"SubItem B.1"); var_Items->PutCellValue(h,long(2),"SubItem B.2"); spG2antt1->EndUpdate(); |
2021 |
How can I filter for the type of the bars I have in my chart
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,11,28,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,0); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%0%>"); var_Bar->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Copy(L"Task",L"GTask"); var_Bar1->PutDef(EXG2ANTTLib::exBarCaption,"<%=%0%>"); var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); var_Bar1->PutColor(RGB(0,255,0)); EXG2ANTTLib::IBarPtr var_Bar2 = var_Chart->GetBars()->Copy(L"Task",L"RTask"); var_Bar2->PutDef(EXG2ANTTLib::exBarCaption,"<%=%0%>"); var_Bar2->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18)); var_Bar2->PutColor(RGB(255,0,0)); var_Chart->PutColumnsFormatLevel(L"0"); spG2antt1->PutOnResizeControl(EXG2ANTTLib::OnResizeControlEnum(EXG2ANTTLib::exDisableSplitter | EXG2ANTTLib::exResizeChart)); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Type"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(0)); var_Column1->PutVisible(VARIANT_FALSE); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE); var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Item 2"),"GTask",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Item 3"),"RTask",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Item 4"),"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Item 5"),"GTask",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Item 6"),"RTask",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,12,0,00,00).operator DATE(),vtMissing,vtMissing); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[") + "<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchi" + "temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" + " + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarShowCloseIfRequired | EXG2ANTTLib::exFilterBarSingleLine | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column2 = spG2antt1->GetColumns()->GetItem(long(1)); var_Column2->PutFilterType(EXG2ANTTLib::exFilter); var_Column2->PutFilter(L"GTask|RTask"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2020 |
How can I display the control's filter bar in the Items section only, as it was displayed before
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellValue(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::exFilterBarShort); EXG2ANTTLib::IColumnPtr var_Column3 = spG2antt1->GetColumns()->GetItem(long(1)); var_Column3->PutFilterType(EXG2ANTTLib::exPattern); var_Column3->PutFilter(L"*B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2019 |
FilterBarCaption ALL Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[") + "<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchi" + "temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" + " + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2018 |
FilterBarCaption ALL Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(L"all"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2017 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace ") + "`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2016 |
FilterBarCaption ALLUI Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(L"allui"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2015 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava") + "ilable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `" + "` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount" + " + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2014 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); _variant_t i = spG2antt1->FormatABC(L"value + 1",spG2antt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spG2antt1->GetItems()->PutCellImage(Item,long(3),i); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column2->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXG2ANTTLib::exImage); var_Column3->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox)); EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellValue(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(L"value + ` ` + available"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column5 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXG2ANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spG2antt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2013 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellValue(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) +") + " ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replac" + "e `]` with ` </b></bgcolor></fgcolor>`"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::exFilterBarToggle); EXG2ANTTLib::IColumnPtr var_Column3 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXG2ANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXG2ANTTLib::IColumnPtr var_Column4 = spG2antt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXG2ANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2012 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellValue(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::exFilterBarToggle); EXG2ANTTLib::IColumnPtr var_Column3 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXG2ANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXG2ANTTLib::IColumnPtr var_Column4 = spG2antt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXG2ANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2011 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellValue(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellValue(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,_bstr_t(spG2antt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spG2antt1->GetDescription(EXG2ANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::exFilterBarToggle); EXG2ANTTLib::IColumnPtr var_Column3 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXG2ANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXG2ANTTLib::IColumnPtr var_Column4 = spG2antt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXG2ANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2010 |
Is it possible to automatically displays the control's filter label to the right
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spG2antt1->PutFilterBarCaption(L"`<r>` + value"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarShowCloseOnRight | EXG2ANTTLib::exFilterBarToggle)); EXG2ANTTLib::IColumnPtr var_Column2 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column2->PutFilterType(EXG2ANTTLib::exFilter); var_Column2->PutFilter(L"Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2009 |
How can I get the number of results/items being shown in the control's filter bar (sample 4)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXG2ANTTLib::FilterListEnum(EXG2ANTTLib::exShowExclude | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exSortItemsAsc)); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarPrompt(_bstr_t(spG2antt1->FormatABC(L"`<b>` + value",spG2antt1->GetFilterBarPrompt(),vtMissing,vtMissing))); spG2antt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") + "+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarShowCloseOnRight | EXG2ANTTLib::exFilterBarShowCloseIfRequired | EXG2ANTTLib::exFilterBarCaptionVisible | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->EndUpdate(); |
2008 |
How can I get the number of results being shown in the control's filter bar (sample 3)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") + "+ 1) + ` result(s)` ) : ``)"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarCaptionVisible | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXG2ANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2007 |
How can I get the number of results being shown in the control's filter bar (sample 2, compact)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarCaption(L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarSingleLine | EXG2ANTTLib::exFilterBarCaptionVisible | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXG2ANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2006 |
How can I get the number of results being shown in the control's filter bar (sample 1)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCaptionVisible | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXG2ANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2005 |
FilterBarCaption Predefined Keywords
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } // AfterExpandItem event - Fired after an item is expanded (collapsed). void OnAfterExpandItemG2antt1(long Item) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->Refresh(); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::CheckValueType); var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1)); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); var_Column->PutFilterType(EXG2ANTTLib::exCheck); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Sub-Item B1"),long(1),1); var_Items->InsertItem(h,vtMissing,"Sub-Item B2"); var_Items->PutExpandItem(h,VARIANT_TRUE); var_Items->AddItem("Item C"); spG2antt1->PutFilterInclude(EXG2ANTTLib::exItemsWithChilds); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarCaption(_bstr_t("`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</") + "i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>" + ": ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF>" + "<i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" + "i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=8" + "08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" + " `</fgcolor>`"); spG2antt1->PutFilterBarPromptPattern(L"B"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCaptionVisible | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column2 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column2->PutFilterType(EXG2ANTTLib::exFilter); var_Column2->PutFilter(L"Item A|Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2004 |
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spG2antt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spG2antt1->GetFont())))); spG2antt1->PutFilterBarCaption(L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"); spG2antt1->PutFilterBarPromptPattern(L"B"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarCompact | EXG2ANTTLib::exFilterBarSingleLine | EXG2ANTTLib::exFilterBarVisible | EXG2ANTTLib::exFilterBarPromptVisible)); EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXG2ANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
2003 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarShowCloseOnRight | EXG2ANTTLib::exFilterBarToggle | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->PutFilterBarPrompt(_bstr_t(spG2antt1->FormatABC(L"`<r>` + value",spG2antt1->GetFilterBarPrompt(),vtMissing,vtMissing))); spG2antt1->EndUpdate(); |
2002 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spG2antt1->PutRightToLeft(VARIANT_TRUE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarToggle | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->EndUpdate(); |
2001 |
How can I change the visual appearance of the filter bar's close button (EBN)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ") + "jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" + "SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" + "OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" + "DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" + "AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" + "JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" + "0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" + "kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" + "MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" + "QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ"); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spG2antt1->PutFilterBarPromptVisible(EXG2ANTTLib::FilterBarVisibleEnum(EXG2ANTTLib::exFilterBarToggle | EXG2ANTTLib::exFilterBarPromptVisible)); spG2antt1->PutBackground(EXG2ANTTLib::exFooterFilterBarButton,0x1000000); spG2antt1->EndUpdate(); |